package com.zw.pm.module.board.single;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.zw.pm.base.BaseModel;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.util.Date;

/**
 * @Description: 任务 model
 *
 * @Author: China.sgl
 * @Date: 2019/12/6 08:42
 */
@EqualsAndHashCode(callSuper = true)
@Data
public class TaskModel extends BaseModel {

    private Integer id;

    /** 备注 */
    private String remark;

    /** 完成时间 */
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date endTime;

    /** 计划完成时间 */
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date planCompleteTime;

    /** 开始时间 */
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date startTime;

    /** 状态 0=不需要 1=未开始 2=执行中 3=已完成 */
    private Integer status;

    /** 排序 */
    private Integer orderNo;

    /** 项目ID */
    private Integer projectId;

    /** 工厂ID */
    private Integer factoryId;

    /** 模板ID */
    private Integer taskTempId;

    /** 任务名 */
    private String alias;

    /** 数量 */
    private Integer num;

    /** 需要喷涂数量 废弃 */
    private Integer sprayNum;

    /** 重量 */
    private Double weight;

    /** 完成时数量不符的原因 */
    private String reason;

    /** 主体完成时间 */
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date mainCompleteTime;

    /** 铁件完成时间 */
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date ironCompleteTime;

    /** 背楞完成时间 */
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date backCompleteTime;

    /** 支撑完成时间 */
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date supportCompleteTime;

    /** 主体完成状态 1=未开始 2=执行中 3=已完成 */
    private Integer mainStatus;

    /** 铁件完成状态 1=未开始 2=执行中 3=已完成 */
    private Integer ironStatus;

    /** 背楞完成状态 1=未开始 2=执行中 3=已完成 */
    private Integer backStatus;

    /** 支撑完成状态 1=未开始 2=执行中 3=已完成 */
    private Integer supportStatus;

    /** 首次发货时间 */
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date firstShipTime;

    /** 最后发货时间 */
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date lastShipTime;

    /** 铝支撑数量 */
    private Integer supportNum;

    /** 铝支撑重量 */
    private Double supportWeight;
    /** 铁件数量 */
    private Integer ironwareNum;
    /** 铁件重量 */
    private Double ironwareWeight;
    /** 铝背楞数量 */
    private Integer aluminumBackingNum;
    /** 铝背楞重量 */
    private Double aluminumBackingWeight;
    /** 生产厂编码 */
    private String factoryCode;
    /** 文件数量 */
    private Integer docNum;
    /** 已完成数量 */
    private Integer completeNum;
    /** 已完成重量 */
    private Double completeWeight;
}
